import { defineWrappedResponseHandler } from "#server/utils/handler"; import { R } from "#server/utils/response"; import { resolveCharacterIdentity } from "#server/service/character/identity"; import { listCharacterSessions } from "#server/service/character/session"; import { getCharacterCardBySlug } from "#server/service/character/character-card"; export default defineWrappedResponseHandler(async (event) => { const slug = getRouterParam(event, "slug"); if (!slug) { return R.error("参数无效", null); } const card = await getCharacterCardBySlug(slug); if (!card) { return R.error("角色不存在", null); } const identity = await resolveCharacterIdentity(event); if (!identity.userId && !identity.tempToken) { return R.success({ list: [], total: 0, page: 1, pageSize: 30, totalPages: 0 }); } const query = getQuery(event); const page = Number(query.page) || 1; const pageSize = Number(query.pageSize) || 30; const result = await listCharacterSessions({ userId: identity.userId, tempToken: identity.tempToken, cardId: card.id, page, pageSize, }); return R.success(result); });